﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PasswordsService
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;
    using System.Text;

    namespace PasswordsService
    {
        // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
        [ServiceContract]
        public interface ÎPasswordSyncService
        {
            [OperationContract]
            string Ping(string value);

            [OperationContract]
            bool Login(Guid deviceId, Guid client, byte[] hash, SyncMode mode);

            [OperationContract(IsOneWay = true)]
            void Logout(Guid client);

            [OperationContract]
            int GetPasswordCount(Guid client);

            [OperationContract]
            PasswordContract GetPassword(Guid client, int index);

            [OperationContract]
            UpdateMode SendPassword(Guid client, PasswordContract password);

            [OperationContract]
            UpdateMode DeletePassword(Guid client, PasswordContract password);

            [OperationContract]
            BackupDataContract[] GetBackupData(Guid deviceId);

            [OperationContract]
            bool SelectBackup(Guid guid, int backupId);

            [OperationContract]
            byte[] GetPasswordHash(Guid guid);
        }

    }
}
